package com.cy.dao;

import com.cy.entity.QueryVo;
import com.cy.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 残影
 * @date 2020/9/10 16:17
 */
public interface UserDao {
    /**
     * 查询所有用户
     *
     * @return
     */
    List<User> findAll();

    /**
     * 根据 id 查询
     *
     * @param userId
     * @return
     */
    User findById(Integer userId);

    /**
     * 根据名称模糊查询
     *
     * @param username
     * @return
     */
    List<User> findByName(@Param("username") String username);

    /**
     * 根据 QueryVo 中的条件查询用户
     *
     * @param vo
     * @return
     */
    List<User> findByVo(QueryVo vo);

    /**
     * 根据用户信息，查询用户列表
     * @param user
     * @return
     */
    List<User> findByUser(User user);

    /**
     * 根据 id 集合查询用户
     * @param vo
     * @return
     */
    List<User> findInIds(QueryVo vo);
}
